#pragma once
#include "Listener.h"
#include <vector>


class CViewManager;


class CViewport
{
public:
	// Changed my view manager.
	void SetViewManager( CViewManager* viewMgr ) { m_viewManager = viewMgr; };
	virtual void Update();
protected:
	CViewManager *m_viewManager;
};

class CRenderViewport : public CViewport
{
public:
	virtual void Update();
};

class C2DViewport : public CViewport
{
public:
	virtual void Update();
};


/** Manages set of viewports.
*/
class CViewManager : public IEditorNotifyListener
{
public:
	void RegisterViewport( CViewport *vp );
	void UnregisterViewport( CViewport *vp );
	//! Array of currently existing viewports.

	void UpdateTest();

	virtual void OnEditorNotifyEvent( EEditorNotifyEvent event );
private:
	std::vector<CViewport*> m_viewports;
};


